package com.maxd.modules.antPlant.api;

import com.fasterxml.jackson.databind.JsonNode;
import com.maxd.modules.antPlant.api.request.*;
import com.maxd.modules.antPlant.api.resp.*;
import feign.QueryMap;
import feign.RequestLine;

/**
 * @author mengshx
 * datetime 2024-04-14 09:18
 **/
public interface AntPlanetApi {
    @RequestLine("GET /index.php/v2/api/index/actlist")
    JsonNode activityPage(@QueryMap PageActivityListRequest request);
    @RequestLine("GET /index.php/v2/api/index/actunionurl")
    JsonNode activityShare(@QueryMap ShareActivityRequest request);
    @RequestLine("GET /index.php/v2/api/index/pforder")
    OtherOrderQueryResp queryOtherOrder(@QueryMap OtherOrderQueryRequest request);
    @RequestLine("GET /index.php/v2/api/open/rerechargeorder")
    RechargeOrderQueryResp queryRechargeOrder(@QueryMap RechargeOrderQueryRequest request);
    @RequestLine("GET /index.php/v2/api/open/movieorder")
    MovieOrderQueryResp queryMovieOrder(@QueryMap MovieOrderQueryRequest request);

    @RequestLine("GET /index.php/v2/api/open/dcorder")
    FoodOrderQueryResp queryFoodOrder(@QueryMap FoodOrderQueryRequest request);
    //唯品会推荐列表
    @RequestLine("GET /index.php/v1/api/vip/goodslist")
    WphPageQueryResp pageWph(@QueryMap WphPageQueryRequest request);
    //唯品会搜索列表
    @RequestLine("GET /index.php/v1/api/vip/goodsquery")
    WphSearchQueryResp searchWph(@QueryMap WphSearchQueryRequest request);
    //唯品会转链
    @RequestLine("GET /index.php/v1/api/vip/getunionurl")
    WphTransferResp transferWph(@QueryMap WphTransferRequest request);
    @RequestLine("GET /index.php/v1/api/vip/getorder")
    WphOrderQueryResp queryWphOrder(@QueryMap WphOrderQueryRequest request);
    @RequestLine("GET /index.php/v2/api/open/nearorder")
    ZhoubyhOrderQueryResp queryZhoubyhOrder(@QueryMap ZhoubyhOrderQueryRequest request);
//    default JsonNode activityPageWithQueryTemplate(String id, String name, RequestTemplate template) {
//        template.query("id", id)
//                .query("name", name);
//        return activityPage(null);
//    }
}
